// pages/me/me.js
import Dialog from '../../components/vant-weapp/dialog/dialog'
import Notify from '../../components/vant-weapp/notify/notify'

// 获取应用实例
const app = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    hasUserInfo: wx.getStorageSync('hasUserInfo') || false,
    userInfo: wx.getStorageSync('userInfo') || null,
    OPENIDTOKEN: wx.getStorageSync('OPENIDTOKEN'),
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    systemInfo: {},
    isdev:''
  },

  // todo 监听页面高度(上滑或者下滑)
  onPageScroll: function (e) {
    console.log('打印当前页面滚动的距离=', e)
    // 页面距离大于100px,则显示回到顶部控件
    let goTopStatus = e.scrollTop > 100
    this.setData({ goTopStatus })
  },

  // todo 回到顶部，内部调用系统API
  goTop: function (e) {
    if (wx.pageScrollTo) {
      wx.pageScrollTo({
        scrollTop: 0, // scrollTop	Number	是	滚动到页面的目标位置（单位px）
        duration: 50 // duration	Number	否	滚动动画的时长，默认300ms，单位 ms
      })
    } else {
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低，暂无法使用该功能，请升级后重试。'
      })
    }
  },

  handleContact (e) {
    console.log(e.detail)
    console.log(e.detail.path)
    console.log(e.detail.query)
  },

  //* * 退出 *//
  handleSignOut (e) {
    this.getTabBar().setData({ tabBarVisible: false })
    Dialog.confirm({
      title: '确定要退出',
      message: '退出后将清除你的用户信息，保障你的安全',
      asyncClose: true,
    
    })
      .then(() => {
        setTimeout(() => {
          Dialog.close() // 弹出框关闭
          this.getTabBar().setData({ tabBarVisible: true }) // 底部常驻栏出现
          Notify({ type: 'primary', message: '你已安全退出' }) // 顶部消息提示
          wx.pageScrollTo({
            // 回到顶部
            scrollTop: 0,
            duration: 0
          })
        }, 500)
        setTimeout(() => {
          wx.clearStorageSync()
          this.setData({
            userInfo: null,
            hasUserInfo: false,
            OPENIDTOKEN: wx.getStorageSync('OPENIDTOKEN')
          })
        }, 550)
      })
      .catch(() => {
        Dialog.close()
        this.getTabBar().setData({ tabBarVisible: true })
      })
  },

  //* * 获取用户信息 *//
  // getUserInfo: function (e) {
  //   const detail = e.detail
  //   console.log(e, '正在测试getUserInfo')
  //   if (detail.errMsg == 'getUserInfo:ok' || detail.userInfo) {
  //     app.globalData.userInfo = e.detail.userInfo
  //     this.setData({
  //       userInfo: e.detail.userInfo,
  //       hasUserInfo: true
  //     })
  //   }
  // },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {},

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // todo 每个 tab 页下的自定义 tabBar 组件实例是不同的，可通过自定义组件下的  this.getTabBar() 接口，获取当前页面的自定义 tabBar 组件实例
    // 其本质就是组件回调时候return了this,调用this.getTabBar()获取组件实例
    // 触发custom-tab-bar/index.js  methods中的init(){}函数
    // this.getTabBar().setData({ active: 2 })
    this.getTabBar().init()
    // -----------------------------------------------------------------------------
    this.setData({
      isdev:app.globalData.systemInfo.brand
    })
    console.log(this.data.isdev,"sdfkkkkkkkkkk")
    // -----------------------------------------------------------------------------
    //* * 从全局app.globalData获取用户信息 */
    if (app.globalData.userInfo) {
      this.setData({
        // hasUserInfo: true,
        // userInfo: app.globalData.userInfo,
        systemInfo: app.globalData.systemInfo,
        hasUserInfo: wx.getStorageSync('userInfo'),
        userInfo: wx.getStorageSync('userInfo'),
        OPENIDTOKEN: wx.getStorageSync('OPENIDTOKEN')
      })
    } else if (this.data.canIUse) {
      // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
      // 所以此处加入 callback 以防止这种情况
      app.userInfoReadyCallback = res => {
        this.setData({
          // userInfo: res.userInfo,
          // hasUserInfo: true,
          hasUserInfo: wx.getStorageSync('userInfo'),
          userInfo: wx.getStorageSync('userInfo'),
          OPENIDTOKEN: wx.getStorageSync('OPENIDTOKEN')
        })
      }
    } else {
      // 在没有 open-type=getUserInfo 版本的兼容处理
      wx.getUserInfo({
        success: res => {
          app.globalData.userInfo = res.userInfo
          this.setData({
            // userInfo: res.userInfo,
            // hasUserInfo: true,
            hasUserInfo: wx.getStorageSync('userInfo'),
            userInfo: wx.getStorageSync('userInfo'),
            OPENIDTOKEN: wx.getStorageSync('OPENIDTOKEN')
          })
        }
      })
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {}
})
